import request from '@/utils/request'

/**
 * 获取报警级别下拉列表
 * @returns {Promise} 请求结果
 */
export function getAlarmLevelList() {
  return request({
    url: '/dispatch/web/dispatchAlarmRecords/alarmLevelList',
    method: 'get'
  })
}

/**
 * 获取处理结果下拉列表
 * @returns {Promise} 请求结果
 */
export function getHandleResultList() {
  return request({
    url: '/dispatch/web/dispatchAlarmRecords/handleResultList',
    method: 'get'
  })
}

/**
 * 获取报警状态下拉列表
 * @returns {Promise} 请求结果
 */
export function getAlarmStatusList() {
  return request({
    url: '/dispatch/web/dispatchAlarmRecords/alarmStatusList',
    method: 'get'
  })
}

/**
 * 获取进行中报警记录列表
 * @param {Object} params 查询参数
 * @param {string} [params.startTime] 开始时间
 * @param {string} [params.endTime] 结束时间
 *极速 {string} [params.alarmType] 报警类型
 * @param {number} [params.alarmLevel] 报警级别
 * @param {number} [params.processingStatus] 处理状态
 * @param {string} [params.alarmObject] 报警对象
 * @param {string} [params.handleResult] 处理结果
 * @returns {Promise} 请求结果
 */
export function listAlarmRecords(params) {
  return request({
    url: '/dispatch/web/dispatchAlarmRecords/list',
    method: 'get',
    params
  })
}

/**
 * 获取历史报警记录列表
 * @param {Object} params 查询参数
 * @param {string} [params.start极速] 开始时间
 * @param {string} [params.endTime] 结束时间
 * @param {string} [params.alarmType] 报警类型
 * @param {number} [params.alarmLevel] 报警级别
 * @param {number} [params.processingStatus] 处理状态
 * @param {string} [params.alarmObject] 报警对象
 * @param {string} [params.handleResult] 处理结果
 * @returns {Promise} 请求结果
 */
export function listHistoryAlarmRecords(params) {
  return request({
    url: '/dispatch/web/dispatchAlarmRecords/history',
    method: 'get',
    params
  })
}

/**
 * 获取报警记录详细信息
 * @param {number} id 报警记录ID
 * @returns {Promise} 请求结果
 */
export function getAlarmRecordDetail(id) {
  return request({
    url: `/dispatch/web/dispatchAlarmRecords/${id}`,
    method: 'get'
  })
}

/**
 * 处理报警记录
 * @param {Object} data 处理数据
 * @param {number} data.id 报警记录ID
 * @param {number} data.handleResult 处理结果
 * @param {string} data.handleOpinion 处理意见
 * @returns {Promise} 请求结果
 */
export function handleAlarmRecord(data) {
  return request({
    url: '/dispatch/web/dispatchAlarmRecords/handleAlarmRecords',
    method: 'post',
    data
  })
}